At present, it is generally done to define typical tasks that are repeatedly carried out (for example, daily routine work in business), as a set of processes (jobs) that are to be performed by a computer and then to automate the tasks using the computer.
When a plurality of jobs is registered in a computer, these jobs may successively be executed in a predetermined order. For example, a job of extracting records satisfying specified conditions from a database, a job of aggregating data included in the extracted records, and a job of generating a document file indicating the aggregation result are successively executed. Each job starts, for example, after its preceding job is completed. After branching from a job (branching point), two or more succeeding jobs may be executed in parallel. In addition, a job may start after waiting for all of two or more preceding jobs to be completed (meeting point).
If a job is repetitively executed (for example, every day), completion of the job may be delayed longer than expected due to various reasons such as a heavier workload of a computer than usual, more data than usual, a longer delay in arrival of a file to be referenced than usual, and so on. In addition, if an unexpected error occurs while a job is in progress, the job may terminate abnormally. Therefore, it is preferable that an operator of the computer monitors the execution states of jobs. To support the job monitoring, there is considered a technique of generating a graph that represents an order relationship among a plurality of jobs to thereby visualize the execution states of the jobs using the graph.
In this connection, there has been proposed a business job execution monitoring method in which an execution monitoring job is activated on a job execution apparatus, which executes a plurality of business jobs, and the execution states of the plurality of business jobs are monitored by the execution monitoring job. This execution monitoring job obtains an execution start file and an execution end file which are generated from each business job at an execution start time and at an execution end time, respectively, and determines based on the execution start file and the execution end file whether each business job is delayed or not.
Please see, for example, Japanese Patent Laid-open Publication No. 2004-295508.
In visualizing job execution states using a graph, it is preferable that the graph is entirely or almost entirely displayed on one screen so as to enable an operator to overlook the execution states of monitored jobs as a whole. If only a part of the graph is displayed on the screen, the operator needs to switch the display area to confirm every part of the graph, which results in poor operability and poor recognition. However, if there is an increase in the number of monitored jobs, it would be difficult to display all nodes corresponding to the jobs on one screen.
In the case where a plurality of jobs is in a hierarchical form that is suitable for monitoring, it may be possible to display the entire graph on one screen by representing each higher level job as one node. In the case where a plurality of jobs is not previously arranged in a hierarchical form that is suitable for monitoring, on the contrary, it is not easy to generate a hierarchical graph from such a job group.